Stage Verslag

IKS2-Waardemeters

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Tom Vermeulen [email protected]

 

Voorwoord

 

Dit verslag is tot stand gekomen in mijn 2de leerjaar aan de Hogeschool Eindhoven, in het kader van mijn 1ste stage. In dit verslag vindt u onderandere een beschrijving van het project IKS2-waardemeters.

 

Dit document geeft een beschrijving van het arbeidsproces met alles wat daarbij hoort. Voor een gedetailleerdere omschrijving van het programma en de werking er van verwijs ik graag naar dhr. J. Debal op afdeling warmwals van de Sidmar

 

Mijn dank gaat uit naar dhr. J. Debal, die mij tijdens de gele project duur heeft geholpen op het vlak van de informatica en dan vooral op het gebied van het programmeren in Visual Basic. Ook wil ik de P. de Jong bedanken die mij heeft begeleid bij het schrijven van de diverse stagedocumenten, waaronder ook dit stageverslag. Verder natuurlijk ook mijn vader en moeder die toch maar weer 10 weken met mij zaten opgescheept.

 

Inhoudsopgave

 

Voorwoord *

Inhoudsopgave *

Inleiding *

Stage Voorbereiding *

De Sidmar *

Historiek. *

Situering *

Productieproces. *

KOOKSFABRIEKEN *

GRONDSTOFFEN BEHANDELING *

SINTERFABRIEKEN *

HOOGOVENS *

STAALFABRIEK *

WARMWALSERIJ *

KOUDWALSERIJEN *

WARMWALSERIJ *

Slabs *

Dikke platen *

Rollen en platen *

Het Project *

De Software *

De Werking *

De Specificaties *

Internet Explorer *

Internet Information Server *

WebAction *

Visual Basic ActiveX objects *

Acces 97 database *

De Aanpak *

De Database *

Login Database *

IKS2 Database *

Standaard naamgeving van queries *

De Programmas *

Login *

HTML-Objects *

IKS2 en IKS2Acces *

Standaard naamgeving in Visual Basic *

Het Testen *

Debuggen *

ErrorTrapping *

De Intranet Applicatie *

Login *

Applicatie *

Management waardemeters *

Ingave waardemeters *

Rapportering waardemeters *

Conclusie *

Bijlage A –queries- *

LOGIN *

IKS2 *

Bijlage B -Programma Schema's- *

Bijlage C –parameter overdracht- *

Bijlage D -Programma Code- *

Bijlage -Informatiebronnen- *

Literatuur *

Online Literatuur *

Bijlage E -Plan Van Aanpak (b)- *

Bijlage F -Weekrapportage- *

Week1 *

Week2 *

Week3 *

Week4 *

Week5 *

Week6 *

Week7 *

Week8 *

Week9 *

Week10 *

 

 

Inleiding

 

Tijdens mijn 1e stageperiode ben ik werkzaam geweest op de afdeling Warmwals van SIDMAR, waar ik werd begeleid door dhr. J. Debal, die op deze afdeling werkzaam is als IBO

 

Het project waar ik gedurende mijn stageperiode aan mag werken, bestaat in het automatiseren van de ingave, verwerking en rapportering van IKS2-waardemeeters. De toepassing hiervoor moet op het intranet kommen te staan.

 

In dit verslag vindt een gedetailleerde omschrijving van de Sidmar en het project. Een beschrijving van de huidige situatie inzake het process van de ingave, verwerking en rapportage van de IKS2-waardemeters. Verder zal er een beschrijving volgen van mijn werkzaamheden en de problemen die zich voordeden.

 

Als laatste zijn er nog een paar hoofdstukken met bijlagen zoals literatuurlijst, programmaschemas, programmalisting(op disk) en het PVA(b).

 

 

Stage Voorbereiding

 

Voorafgaande op mijn stageperiode waren er een aantal onderdelen die afgewerkt moesten worden namelijk;

Alleen het eerste onderdeel van de drie kon door mij in de voorgeschreven tijd worden afgewerkt. Er werd in de planning van de stagevoorbereidin namelijk geen rekening mee gehouden dat, zowel de student en de stagedocent aan het eind van een blok het erg druk heb met tentamens en het afwerken van opdrachten. Om de hiervoor genoemde reden kon ik pas op mijn stageplaats echt goed contact opnemen met mijn stagedocent over het PVA(s) en het stageverslag. Het gevolg hiervan was dat ik het PVA(s) met een vertraging van enkele weken pas aan mijn stagedocent kon afleveren, de bureaucratische molen van het stagebureau was voor de versnelling van dit process ook niet echt bevorderlijk.

 

Ook bleek enkele weken na de aanvang van mij stage, dat mijn contract niet door school ondertekend kon worden vanwege een clouzule over ongevallen en het toebrengen van schade aan derden. Dit probleem kon worden opgelost als de Sidmar het contract aanpaste of de student een extra verzekering nam voor het stagelopen in het buitenland. Dit alles heeft ongeveer 6 weken geduurd. Van deze 6 weken heeft het contract er 5 bij het stagebureau doorgebracht.

 

 

De Sidmar

Historiek.

 

In 1962 nam de Luxemburgse staalreus Arbed, samen met enkele andere Belgische en Europese staalbedrijven en financiële groepen het initiatief om aan het kanaal Gent-Terneuzen een staalbedrijf op te richten. De stad Gent verleende haar medewerking tot het verwerven van een terrein van 624 ha. De opbouw van Sidmar begon in december 1963 . Sidmar begon de activiteiten aan het kanaal Gent-Terneuzen in 1966 louter als koudwalserij. In 1967 startte de eigenlijke ijzer- en staalproductie met hoogoven, staalfabriek

en warmwalserij.

Situering

 

Het bedrijf ligt aan de rechteroever van het zeekanaal Gent-Terneuzen, op 15 km van het Gentse stadscentrum en op minder dan 17 km van de sluis van Terneuzen, waardoor het via de Westerschelde verbonden is met de Noordzee.

SIDMAR staat voor "Staal InDustrie MARitiem" waarmee expliciet aangeduid wordt dat het bedrijf zich op de scheepvaart richt voor het transporteren van de overzeese grondstoffen, hoofdzakelijk ijzerertsen en kolen.

 

Fig.1 plattegrond SIDMAR

 

Jaarlijks produceert Sidmar 3,6 miljoen ton ruwijzer en 4 miljoen ton ruwstaal. De jaarlijkse omzet bedraagt 50 miljard BEF. Sidmar stelt 5750 werknemers te werk en bestrijkt op dit ogenblik meer dan 1000 ha met een spoorwegnet van zowat 52 km en met ongeveer 24 kilometers banen.

 

Sidmar is een maritiem geïntegreerd staalbedrijf waarvan het productieprogramma uitsluitend gericht is op de fabricage van vlakke producten.

In de staalnijverheid is het gebruikelijk een onderscheid te maken tussen lange producten, zoals betonijzer, zware profielen, rails, e.a. en vlakke producten zoals rollen en platen. Sidmar produceert enkel vlakke producten met een hoge toegevoegde waarde en met als voornaamste kenmerken:

- uniforme mechanische eigenschappen

- zuiver oppervlak

- uitstekende vlakheid

- soepele vormbaarheid en rekbaarheid

- superieure lasbaarheid

 

 

Ruw geschetst komt het Sidmar-staal terecht bij:

- de auto-industrie (koetswerk voor auto’s, wielvelgen, …)

- de witgoedsector (koelkasten, was- en droogmachines, …)

- de bouwnijverheid (stalen loodswanden, trappen, …)

- de meubelfabrikanten

- de radiatorenfabrikanten

 

Productieproces.

Het bedrijf beschikt over alle productie-eenheden om, vertrekkende van de grondstoffen het eindproduct (warmgewalste of koudgewalste platen en rollen) te produceren, nl.: - Kooksfabriek

- Sinterfabrieken

- Hoogovens

- Staalfabriek

- Warmwalserij

- Koudwalserijen

 

Fig.2 Productieschema SIDMAR

 

KOOKSFABRIEKEN

 

Omdat steenkolen niet geschikt zijn om rechtstreeks in de hoogovens verbruikt te worden, worden de kolen verkookst. Ze bevatten immers te veel schadelijke of onnuttige producten voor het reducerend smeltproces en bovendien zijn ze niet sterk genoeg om de lading in de hoogovens te dragen. De kolen worden in de kooksovens opgewarmd. Daar er geen zuurstof aanwezig is in deze afgesloten ovens, verbranden de kolen niet. (= droge destilatie) Zodra de kolen verkookst zijn, worden zij geblust met water en laat men ze verder uitdampen op de kookskaai.

GRONDSTOFFEN BEHANDELING

 

De verschillende soorten ertsen worden zorgvuldig gescheiden opgeslaan in de ertsopslagplaatsen. In nauwkeurig bepaalde verhoudingen worden ze opnieuw afgegraven en samen met smeltmiddelen en recuperatiestoffen vermengd op het

mengbed. Zo’n mengbed heeft tot doel de verschillende grondstoffen zo goed mogelijk met elkaar te vermengen. De gevormde bedden worden opnieuw afgegraven om een optimaal mengsel te bekomen.

 

SINTERFABRIEKEN

 

Uit een mengsel van ijzererts, ijzerhoudende recuperatiestoffen en diverse smeltmiddelen produceren de sinterfabrieken een instant- ertsproduct van optimale stukgrootte en scheikundige samenstelling dat direct in de hoogovens gebruikt kan worden. Het te sinteren mengsel wordt samen met de fijn verdeelde kooks vermengd en gebakken. Daarna wordt de sinter gekoeld, gebroken en afgezeefd.

 

 

 

HOOGOVENS

 

Hoogovens produceren vloeibaar ruwijzer door het reducerend smelten van ijzerertsen. Hiertoe wordt de hoogoven geladen met kooks, die verbrand worden, waardoor het reductiegas en de nodige warmte bekomen worden om de ertsen af te smelten. De smeltmiddelen, die zich in de sinter bevinden, hebben hoofdzakelijk tot doel het ruwijzer te zuiveren en het smeltpunt van de onzuivere elementen in de ertsen te verlagen. De hete lucht die ingeblazen wordt, moet ervoor zorgen dat heel het proces aan de gang blijft. Tijdens het hoogovenproces wordt er, naast ruwijzer, ook (ruwijzer-)slak gevormd. Deze slak bevat de smeltmiddelen en de onzuiverheden uit het erts en wordt samen

met het ruwijzer afgetapt.

STAALFABRIEK

 

In de staalfabriek wordt het ruwijzer, afkomstig van de hoogovens, omgezet tot staal door het verbranden van de onzuiverheden. Nadat het ruwijzer ontzwaveld is, wordt de zwavelslak ervan verwijderd. Na het afslakken worden afgewogen hoeveelheden schroot toegevoegd aan het ruwijzerbad. Daarna wordt zuivere zuurstof op het ruwijzer geblazen. Er wordt eveneens een hoeveelheid kalk en erts toegevoegd om het zuiveringsproces zo optimaal mogelijk te laten verlopen.

Wanneer de ongewenste stoffen in het ruwijzer ofwel tot slakken ofwel tot gassen verbrand zijn, voegt men toeslagstoffen en legeringselementen toe om de gewenste staalkwaliteit te bekomen. Het staal en de slak worden beiden afgegoten en om een nog betere kwaliteit te bekomen, kan het staal nog enkele behandelingen ondergaan.

 

 

 

Het staal wordt in strengen van welbepaalde afmetingen gegoten. Wanneer de streng gestold is, wordt het op lengte en breedte gesneden. De bekomen slabs worden tenslotte gestempeld, gestapeld en afgevoerd naar het slabbenpark.

 

WARMWALSERIJ

 

In het slabbenpark worden de slabs gekoeld aan de lucht of in waterbakken. Daarna worden ze doorgegeven aan de schoonbranderij waar ze nauwkeurig

gecontroleerd worden op eventuele gietfouten. De foutieve plaatsen worden

gemerkt en in de schoonbranderij weggebrand.

 

Alle slabs worden opnieuw op walstemperatuur gebracht in 1 van de 3 door schuifovens of in de hefbalkoven. De slabs zijn walsklaar als ze een temperatuur van ongeveer 1200 °C bereikt hebben.

 

Wanneer de slab uit de oven komt, wordt de oxidelaag verwijderd door de oxidebreker. De oxidebreker spuit boven- en onderzijde van elke slab af met een waterstraal met een druk van 140 bar. Vervolgens wordt gelijktijdig zowel de dikte als de breedte van de slab gereduceerd in het omkeer-voorwalstuig. In het hiernavolgende continu-voorwalstuig wordt de dikte van de slab nogmaals gereduceerd.

 

De kop en de staart van de bekomen plaat wordt in de eindwalsgroep afgeknipt; de opnieuw ontstane oxidelaag wordt verwijderd. Elk walstuig van de eindwalsgroep reduceert de dikte van de plaat tot de vooropgezette einddikte. De plaat wordt met waterstralen onder lage druk gekoeld tot op de juist opwikkeltemperatuur. Daarna wordt de plaat op 1 van 3 haspels opgewikkeld tot een rol. De opgewikkelde rol gaat dan ofwel naar de warmbandafwerking ofwel naar de beitserij voor verdere bewerking in de koudwalserij.

 

Wordt het warmgewalste staal verkocht als rol dan wordt deze hier klant-klaar gemaakt, verkocht en verzonden. Wordt het warmgewalste staal verkocht als platen, dan wordt de rol hier op breedte en lengte geknipt tot platen. De platen worden gecontroleerd op eventuele fouten, gestapeld, verpakt en verzonden.

 

 

KOUDWALSERIJEN

De aangevoerde warmgewalste rollen, bestemd voor de koudwalserij, worden afgekoeld. Daarna wordt de rol op een afwikkelhaspel gebracht en afgewikkeld. De afgewikkelde rollen worden aan ekaar gelast, gebeitst, afgespoeld en gedroogd. Daarna worden ze op lengte en breedte gesneden, voorzien van een olie-beschermlaag en tenslotte terug opgewikkeld.

 

De gebeitste rollen worden koudgewalst tot op de dikte die door de klant gevraagd werd. Deze diktereductie is mogelijk door een combinatie van druken trekkrachten: druk op de walsen en trek tussen de walstuigen. Voor het eerste walstuig bevindt zich een afwikkelhaspel die de rol afrolt. Bij het verlaten van het laatste walstuig wordt de band terug opgewikkeld, afgevoerd, gebonden, geknipt en gestockeerd in de stapelgoeierijen.

 

Om een hogere productiviteit te bekomen bestaat de TTS uit een continu beitserij en een tandem. (zie voorgaande paragrafen)

Bij het koudwalsen is de plaat door structuurveranderingen te hard geworden om verwerkt te worden. Om de plaat haar gunstige verwerkingseigenschappen terug te geven moet ze hier een thermische behandeling ondergaan, wat gebeurt in de gloeiovens. Maximaal 4 warmgewalste rollen worden boven elkaar gestapeld op een ovensokkel. Deze stapel wordt van de buitenlucht afgesloten d.m.v. een beschermklok. Hierboven komt dat de eigenlijke gloeioven die de stapel doorgloeit tot een temperatuur van 700 °C. Na het gloeien wordt de oven weggenomen en vervangen door een koelklok waardoor het staal afgekoeld wordt tot een temperatuur tussen de 100 °C en de 120°C. Daarna worden de stapels geplaatst boven koelrooster om de temperatuur verder te doen dalen beneden de 40 °C.

 

Bij continu-gloeien streeft men ernaar op een snelle manier aan het staal een homogene en uniforme warmtebehandeling te geven waarbij de bekomen eigenschappen minstens evenwaardig zijn aan of zelfs beter dan die van de stapelgloeierij. De aangevoerde rollen worden op de afwikkelhaspel gebracht en worden ontdaan van kop en staart. Vervolgens worden de rollen aan elkaar gelast. In eerste instantie wordt de band volledig ontvet. Na het spoelen en drogen wordt de band opgewarmd tot ongeveer 50 °C in een voorverwarmingskamer. In de opwarmingskamer wordt de band opgewarmd tot een temperatuur tussen de 700 °C en de 850 °C. In de doorwarmingskamer wordt het staal een korte tijd op deze temperatuur gehouden. Dan volgt een eerste koelkamer waarin de temperatuur van de plaat daalt tot ongeveer 400 °C. Een volgende thermische bewerking is het gecontroleerde en het versnelde verouderen van de staalplaat door ze een welbepaalde tijd op de temperatuur van 400 °C te houden. Daarna wordt de plaat verder afgekoeld in de tweede koelkamer tot ongeveer 100 °C en in een tank met water tot ongeveer 30 °C. Nadien wordt de plaat gedroogd. In het uitgangsgedeelte gaat de band door een hardingswalstuig waar de plaat de nodige verlenging, ruwheid en hardheid krijgt. De plaat wordt op lengte en breedte gesneden. Na inspectie, inoliën en stempelen wordt de band opgewikkeld op 1 van 2 opwikkelhaspels.

 

De uitgegloeide rollen van de stapelgloeierij moeten in de hardingswalserij nog een bijkomende koudvervorming ondergaan. Het hardingswalstuig geeft de platen de nodige verlenging, ruwheid en vlakheid.

 

Wanneer het staal verkocht wordt als platen, moeten de rollen, afkomstig van de continu- gloei- en afwerkingslijn of van de hardingswalserij op 1 van de 3 knipbanen afgewikkeld worden. De band wordt op breedte en lengte gesneden. Een vlakmachine kan daarbij eventueel de plaatvlakheid nog verbeteren. Na inspectie worden de platen al dan niet ingeolied en gestempeld, gestapeld en in het magazijn opgeslagen.

 

Beide overwikkelbanen zijn een inspectie- en afwerkingslijn, waarbij de oppervlakgesteldheid van de rol aan een bijkomend onderzoek onderworpen wordt. De rol wordt in de overwikkelbaan op de juist breedte gesneden. De plaat wordt zowel op de dikte als op eventuele fouten gecontroleerd. Minder goede stukken worden weggesneden, rollen worden op het juiste gewicht gebracht en kleinere roleenheden worden aan elkaar gelast. Daarna worden de rollen bestempeld, ingeolied en gebonden. De opnieuw opgewikkelde rollen worden nadien verpakt, in het magazijn gestockeerd en vervolgens naar verzonden.

 

WARMWALSERIJ

Slabs

 

De slabs, afkomstig van de kontinu-gieterij worden afgevoerd naar het slabbenpark, waar ze aan de lucht of in waterbakken gekoeld worden.

Daarna worden ze doorgegeven aan de schoonbranderij waar ze nauwkeurig gecontroleerd worden op eventuele gietfouten. De foutieve plaatsen worden gemerkt en in de schoonbranderij weggebrand.

Vandaar worden ze overgebracht naar 1 van de 3 doorschuifovens of naar de hefbalkoven, waar ze op walstemperatuur gebracht worden. In de doorschuifovens duwt de laadmachine de slabs door de oven. Ze verlaten de oven via de ontlaadmachine, waardoor ze direct op de rollenbaan van de warmwalsgroep terechtkomen. In de hefbalkoven daarentegen rusten de slabs op watergekoelde balken. Voor het transport zorgen beweegbare watergekoelde hef-balken, die de slabs opnemen en ze stapsgewijze verplaatsen in de oven naar de uitgang toe.

De slabs zijn walsklaar als ze een temperatuur van ongeveer 1200 °C bereikt hebben.

 

Fig. 3 Doorschuifovens - Hefbalkoven

 

Elke slab die uit de oven komt, heeft een oxidelaag. Deze laag wordt door de oxidebreker verwijderd. Elke slab wordt aan boven- en onderzijde afgespoten met een waterstraal onder een druk van 140 bar.

De slabs worden met behulp van de rollenbaan naar de voorwalstuigen geleid. Het eerste walstuig is een omkeerwalstuig, dat de dikte van de slabs reduceert in 3, 5 of 7 walspassen. Gelijktijdig vindt een breedtebeheersing plaats in 3 stuikpassen. In het tweede walstuig gebeurt slechts één enkele gladpas.

De slabs verlaten de voorwalstuigen als dikke plaat.

 

Fig. 4 Voorwalsgroep

 

Dikke platen

 

Voor de eindwalsgroep bevindt zich een draaiende schaar die de kop en de staart van de dikke plaat afknipt.

De oxidelaag van de dikke plaat wordt verwijderd door de oxidebreker.

De dikke plaat gaat vervolgen het eerste eindwalstuig binnen. Elk walstuig van de eindwalsgroep reduceert de dikte van de plaat naar een vooropgestelde einddikte, variërend tussen 1,5 en 12,7 mm. Daartoe wordt in elk walstuig de walsdruk heel nauwkeurig afgeregeld.

De dikke platen verlaten de eindwalstuigen als banden.

 

 

 

 

Fig. 5 Eindwalsgroep

Rollen en platen

 

De banden worden met waterstralen onder lage druk gekoeld tot de juiste opwikkel-temperatuur bereikt is. Daarna worden ze opgewikkeld op 1 van de 3 haspels tot rollen. De opgewikkelde rol wordt dan van de haspel genomen, gekanteld d.m.v. een kipstoel en op een transportketting geplaatst. Daarop wordt de rol afgevoerd naar de warmbandafwerking. In de warmbandafwerking wordt het warmgewalste staal, dat als rol verkocht wordt, klant-klaar gemaakt, verpakt en verzonden. Indien het staal als plaat verkocht wordt, dan wordt de rol in de warmbandafwerking op breedte en lengte geknipt tot platen. Deze worden op hun beurt gevlakt, gecon- troleerd op eventuele fouten, gestapeld, verpakt en verzonden.

 

 

 

 

 

Fig. 6 Warmbandafwerking

 

Het Project

 

Het project waaraan ik tijdens mijn stage ga werken is: het automatiseren van de ingave, verwerking en raportage van waardeparameters. Deze parameters werden gebruikt bij het bepalen van de performantie van de afdeling. Samen met de gegevens van de andere produkte afdelingen ontstaat zo een goed beeld over de prestaties van de onderlinge afdelingen in kader van het IKS2-project (Interne Kwaliteitszorg Sidmar).

Deze waardeparameters komen van alle verschillende sekties binnen de Warnwals en betreffen bjivoorbeeld veiligheid,…. De verantwoordelijke personen voor deze cijfers gaven ze op papier aan de Heer Debal die ze dan invoerde in een spreadsheet. Vervolgens werden hiervan een aantal grafieken en lijsten aan het verantwoordelijke de leiding en het afdelingshoofd.

 

De Software

 

Als eerste zal de database worden aangemaakt moeten worden dit zal gebeuren met Microsoft Acces 97. Vervolgens zullen met Microsoft Visual Basic 5.0 Enterprise Edition de AciveX objects gemaakt worden. Als laatste moeten de Web-paginas gemaakt worden, dit zal hoofdzakkelijk gebeuren met Microsoft Frontpage 97. Het testen zal over het algemeen naast elkaar gebeuren dat wil zeggen

Internet Explorer om de client kant te simuleren, VisualBasic om de ActiveX objecten te debuggen bij ongewenste resultaten op de intra-net paginas. Daarnaast wordt Acces gebruikt om de queries aantepassen.

De intranet-server, Microsoft's Internet Information Server 3.0 is al operationeel, het aanpassen/veranderen van de instellingen van de server is niet nodig en behoort ook niet tot het project.

 

De Werking

 

De bedoeling van het project is dat de ingave, verwerking en raportage via het intranet van de afdeling gaan. Hiervoor is het nodig dat de waardeparmeters in een database komen te staan welk via DAO door in Visual Basic gemaakte ActiveX objecten aangesproken kunnen worden die op hun beurt weer door het ISAPI Filter kunnen worden aangesproken door middel van de COM interfase. De ISAPI communiceert op zijn beurt met de Server via CGI. En als laatste communiceert met de CLIENT via HTTP.

 

HTTP = Hyper Text Transfer Protocol

CGI = Common Gate Way Interface

ISAPI = Inter Server Application Program Interface

COM = Common Object Modelling

DAO = Data Acces Object

 

De Specificaties

Internet Explorer

 

de architectuurde interactiviteit:

  • HTML is belangrijk voor het bekijken van statische HTML-pagina´s heeft het maar een klein potentieel als het gaat om dynamische web pagina´s. Krachtigere web inhoud vraagt om applicties zoals ActiveX en Netscapeplugins. Samen met Scripting wordt het de internet ervaring daardoor dynamischer en interactiver.

Internet Information Server

algemeen:

 

  • IIS bevat snelle HTTP, FTP en Gopher severs. Het gebruikt de zelfde security bestanden als de Windows NT-server waardoor het mogelijk is de beveiliging over het gehele netwerk gemakkelijk en uniform te regelen het is dus ook niet meer nodig om speciale security bestanden aan temaken voor het intranet.

applicaties

  • Active Server Pages (ASP) zorgt voor een server-side-scripting omgeving die dynamische en interactieve web server applicaties mogelijk maakt. Er hoeven geen moeilijke Common Gateway Interface (CGI) programmas geschreven te worden omdat ASP dat allemaal overneemt. Door het gemak van just-in-time compiling wordt het compilen vergemakkelijkt doordat een verandering gelijk wordt gekompileerd op de server en er allen maar op refresh moet worden geklikt bij de browser om het resultaat te zien. Deze methode van applicatie design is ook nog eens browser onafhankelijk omdat de code op de server wordt gegenereert en de browser een gewone HTML-pagina. Ook laat IIS ISAPI server extensies (enkel in C++) toe zodat het een heel goed platform ontstaat om krachtige professionele applicaties te programmeren.

WebAction

 

 

 

Figuur B De werking van webAction

algemeen:

 

  • webAction is een ISAPI-filter plugin voor de Webserver. Het stelt je instaat de webserver uittebreiden met programma´s die zelf zijn ontwikkeld in Visual Basic en -Delphi.het programma kan bijna alles doen om met de gebruiker te communiceren. WebAction bestaat uit twee onderdelen, namelijk: De controller deze doet het zware werk, hij zorgt namelijk voor de interface met de Webserver en beheert de programmas. De toolset zorgt ervoor dat de ontwikkeling van applicaties versneld wordt

 

hoe het werkt:

 

  • De controller beheer meerdere programmas tegelijk en maakt daarbij gebruik van ActiveX (voorheen OLE Automation):

  1. Kijkt of er request van de browser zijn die om uitvoering van het programma vragen.
  2. Doet de informatie van de browser in een pakketje en stuurd deze aan het programma door in de vorm van een simpele array
  3. Stuur de output van het programma terug naar de browser

Visual Basic ActiveX objects

algemeen

  • AxtiveX is de naam voor programmeerbare elementen die vroeger OLE controls, OCX of OLE custom controls. ActiveX componenten zijn net als de standaard componenten plaatsbaar op een form, ze hebben net als alle andere componenten evenementen. Een voordeel boven Java Applet en Netscape-plugins is dat ActiveX componeneten in meerdere talen kunnen worden ingezet.

Acces 97 database

 

 

 

 

 

 

 

 

 

 

 

De Aanpak

 

 

De methode van aanpak van het project was aan de hand van prototyping. Dit houdt in dat de normale project weg die gevolgde wordt bij het ontwerpen van software namelijk; definieren, coderen en testen, niet opgaat het is namelijk een continu proces waarbij na het testen weer defineren, coderen en testen volgt. Het grote voordeel hiervan is dat er veel sneller getest kan worden en de verandering die gemaakt moeten worden aan het eind van de test minder ingrijpen zullen zijn. Een bij komend voordeel is dat het programma als het ware "evolueert" tot een goedsamenhangend geheel. Een nadeel is wel dat van een zeer gedetailleerde planning voor het ontwikkelprocess geen plaats is aangezien er veel eerder in het project al dusdanige aanpassing gemaakt zullen worden dat de planning simpel weg niet meer aantehouden is.

 

De Database

 

Voor het project zijn eerst twee databases gedefinieerd, een voor het inloggen en een voor de applicatie. Beide databases zijn in Acces gedefineerd. De ene database bevat de IKS2-gegevens die eerst in Excel-werkboek waren aangemaakt. De andere database, Login bevat de gegevens over de gebruikers zoals onderandere welk deel van de applicatie zij wel of niet mogen gebruiken. Deze database is zo opgezet dat hij "gerecyckeld" kan worden bij andere toepassingen. Een nadeel hiervan is dat we alles nu al vast leggen en daar in de toekomst rekening mee moeten houden. Een voordeel is dat het ontwikkeltijd spaart bij een volgend project.

Login Database

 

  

De Login database met de releties en de attributen

 

Zoals in de afbeelding van de Login database te zien is

hebben we tbMembership en tblPermissions toegevoegd

om te voorkomen dat er veel-op-veel relaties voor komen

hebben we de database dus genormaliseerd.

Ook is nu goed te zien dat de we gekozen hebben om de

gebruikers per groep rechten te geven en niet per persoon

dit vanwege het feit dat dit makkelijker is in het gebruik. Als er nu bijvoorbeeld een applicatie toegevoegd moet worden dan hoeft dit niet honderd keer voor honderd gebruikers appart zijn permissies te veranderen. Maar hoeft dit maar een keer voor de gehele groep te gebeuren.

Ook bevat de database een hele groot aantal queries zoals die hiernaast zijn weergegeven. De vier standaard hoofdqueries zijn alle vier aanwezig:

 

Ook is te zien dat bij de delte querries voor een delete van Members of Permissions er meerdere mogelijkheden zijn. Dit is gedaan om de mogelijkheid op tehouden een user of een group uit een de membership tabel te verwijderen met allen de user of group-id als selectie criteria.

 

Ook is te zien dat er drie vershillende soorten select zijn voor de Membership tabel. Zo is er de mogelijkheid om bij de selectie van een membership een group, een user of beide als selectie criteria op tegeven.

 

 

 

IKS2 Database

 

Ook de IKS2-database is net als de Login-database genormaliseerd, zodat er geen veel-op-veel releaties voorkomen.

Erg opvallend is ook tblMaand waarbij we gekozen hebben voor een aanduiding van de maanden om drie verschillende manieren namelijk in cijfers, in het kort en in het lang. Dit heeft als voordeel dat we niet gebonden zijn aan een standaard uitdrukking voor een maand en we kunne zo mekkelijk variatie aan brengen. Ook is hier te zien dat bij iedere Parameter een User hoort, deze user is de verantwoordelijke persoon voor die bepaalde parameter. Later in het programma zullen we parameters gaan selecteren aan de hand van user, sektie en categorie. Bij de weergave van de waarden gaan we selecteren aan de hand van de param en het jaartal, er zal dan van een heel jaar elke maand met zijn waarde worden weergegeven.

 

Net als bij Login zijn de vierstandaard queris aanwezig. Zo is er qdelCategorie welke een categorie verwijderd aan de hand van diens ID. Ook is er een speciale querrie namelijk qmkCategorie. Deze Categorie maakt een tabel Categorie aan.

 

Voor een uitgebreider overzicht van de databases verwijs ik naar de bijlagen

Standaard naamgeving van queries

 

De naamgeving van queries is samengesteld uit een prefix en een fuctionele naam. De functionele naam bevat tevens de tabelnaam beginnend met een hoofdletter. De prefix is vastgelegd in functie van de actie en wordt steeds in kleine letters weergegeven. De standaard naamgeving is afkomstig van de Microsoft Technet CD. Bij het programmeren in Visual Basic zullen we ook daar de standaard naamgeving handhaven. Het positieve gevolg van het streng aanhouden van deze standaard naamgeving is dat de leesbaarheid van de code vergroot wordt.

 

 

 

 

De Programmas

 

De applicatie bestaat uit twee onderdelen namelijk het Login gedeelte en het IKS2 gedeelte. Alvorens de gebruiker een onderdeel van de applicatie kan gebruiken zal hij moeten inloggen op de Warmwals site. Vervolgens wordt dan bepaalt welk applicaties hij wel en niet mag gebruiken. De programmas worden in Visual Basic geschreven. De programmas gebruiken de database-bestanden Login en IKS2 voor hun gegevens bewerkingen. De programmas worden als ActiveX objecten

aangemaakt.

Login

Het programma Login bevat allen ActiveX klassen. Deze klassen hebben alle functionaliteit om de eisen die aan Login worden gesteld inzich. Ook is de klasse classTools toegevoegd deze is nodig om de speciale functionaliteit die WebAction biedt aan te kunnen spreken.

 

clsLogin is de eerste klasse die aangesproken wordt bij het inloggen. Hij checkt of de UserID en het Password kloppen met wat in de Login database staat. Als alles klopt wordt clsApp aangeroepen anders wordt een foutmeleding gegenereerd.

In clsApp wordt met database Login gekeken welke applicaties de gebruiker mag gebruiken. De klasse Environment is een klasse die enkel geebruikt wordt bij het testen, hij bevat een functie die een boel gegevens van het operatingsystem en het netwerk bekend maakt. De klassen NotGranted, Granted en Revoked zijn alleen beschikbaar voor de administrator en geeft de gegevens over de verschillende gebruikers inzake de toegangsrechten. Tot slot is er de clsNewUser welke gebruikt wordt om een nieuwe gebruiker toe toevoegen.

 

HTML-Objects

 

HTML-object is een klasse die gebaseerd is op de HTML reference voor Microsoft Internet Explorer 3.0.

Voor elke tag uit de HTML-reference is er een klasse met de naam van die tag. Die klassen hebben op hun beurt weer voor elke attributes een let en een get property zodat er van gelezen en naar geschreven kan worden. Verder bevat elke klasse een functie Special. Deze functie Special genereert de HTML code die bij zo'n tag hoort.

 

De bedoeling van deze klasse was dat met het aanroepen van een paar functies met uit deze klasse je heel simpel een redelijk goede dynamische internetpagina zou kunnen genereren.

 

Door tijd gebrek hebben deze klasse jammer genoeg niet in gebruik kunnen nemen. In toekomstige projecten zal deze klasse waarschijnlijk wel gebruikt worden, het geen tot grote tijdspesparingen kan leiden.

 

IKS2 en IKS2Acces

Het programma IKS2 bevat alle functionaliteit die getoond gaat worden aan de gebruiker. Zo is er de klasse clsReportShowGraph welk laat de taak heeft de html-code te genereren om de grafiek met de geselecteerde waardemeter weertegeven in de browser. In IKS2 worden dus de HTML –codes voor de bepaalde paginas gegenereed. Tevens verwerkt IKS2 de inkomende variablen van de WebAction. Hij genereert een foutmelding als de variabelen niet voldoen aan de gestelde eisen bijvoorbeeld het maximum wordt overschreden.

 

 

Het object IKS2Acces bevat alles wat toegelaten is op de database. Als IKS2 een bewerking met de database moet doen dan spreekt hij daarvoor de juist procedure in IKS2Acces aan. Deze procedure in IKS2Acces gaat dan vervolgens de gevraagde actie uitvoeren op de IKS2 database. Als er

bijvoorbeeld een verandering aan de tabel User moet worden gemaakt dan zal in IKS2 de aanroep clsUSER.Update(parameters) in IKS2Acces klasse clsUser en procedure Update aanroepen welke vervolgens met de overgedragen parameters de gevraagde update in de database zal aanbrengen. Dit gebeurt door dat de parameters weer doorgegeven worden aan de vooraf gedefineerde querry qupdUser. Voor een uitgebreidere beschrijving van de processen verwijs ik naar de programma diagrammen en de source code.

Standaard naamgeving in Visual Basic

De naamgeving van van klassen, forms, modules en andere objecten die in forms gebruikt worden in Visual Basic net als bij de queries in Acces samengesteld uit een prefix en een fuctionele naam. De functionele naam bevat tevens de klassenaam beginnend met een hoofdletter. De prefix is vastgelegd in functie van de soort klasse en wordt steeds in kleine letters weergegeven. De standaard naamgeving is afkomstig van de Microsoft Technet CD. Net als bij de het aanhouden van deze naamgeving in Acces zal het erin Visual Basic voor zorgen dat de gemaakte code leesbaarder wordt. Voor meer prefixes als in het hier bovenstaande tabelletje verwijs ik naar de Technet CD’s of naar de documentatie die over dit onderwerp in het bezit is van ondergetekende.

 

 

Het Testen

 

Na het programmeren van de verschillende programmas en objecten moest er worden getest. Aangezien we met ActiveX objecten wekten konden we de test applicaties gewoon in Visual Basic schrijven en moesten we niet gelijk met HTML gaan testen.

 

Debuggen

Login hebben we tegelijk met IKS2getest als een soort schaduw applictie die niet via het intranet werkt maar local als gewone windows applicatie. Hiernaast is een diagram te zien van alle forms die we nodig hebben om Login en IKS2Acces te Testen.

 

Alle mogelijke handelingen die straks met de intranet-applicatie op de Database kunnen worden gedaan moeten getest worden met deze applicatie. Het testen van Login gebeurt als eerste met twee keer Visual Basic geopend in de ene window laden we Login en in de andere window laden we IKS2AccesTest. Deze laatste is nog niet verder uitgewerkt dan het Inlog gedeelte, zodat we geen problemen krijgen met het aanroepen van procedures die we nog niet willen testen. Als eerste wordt Login gerund met een full compile, daarna pas wordt IKS2AccesTest gerund met een full compile. Als er nu een error optreed in Login dan zal Visual Basic pauseren met runnen. Vervolgens schakelt hij automatisch over naar het onderdeel welke de fout veroorzaakt. De regel waarin de fout optrad wordt geaccentueerd en de foutmelding wordt weergegeven. Na het testen van Login wordt deze gecompileerd en aangemaakt, waardoor het programma in de vanzelf in de register van windows komt te staan. Als er nu een programma naar Login vraagt wordt dit programma automatische door verwezen naar de plaats die in het register staat aangegeven.

Het testen van IKS2 gedeelte gebeurt op de zelfde manier. Twee windows met Visual Basic, een met IKS2AccesTest en de andere met IKS2Acces. Ook hier wordt IKS2AccesTest als laatste gerund. Het verdere process is het zelfd als bij Login.

 

ErrorTrapping

 

Bij het testen is er intensief gebruik gemaakt van "Error Trapping" en Loggen. We hebben hiervoor een ActiveX object gebruikt dat AppLogger heet. Deze AppLogger maakt circulaire bestanden aan dat wil zeggen als het bestand vol is begint hij weer aan het begin met schrijven. Voorelke klasse hebben wij een eigen log-bestand gemaakt. Elke keer als een klasse wordt aangroepen worden in het bijbehorende log bestand de volgende dingen weggeschreven:

-Tijd + Class Initialize

-Tijd + Class Terminate

-Einde van het Loggen

in een log-bestand ziet dat er bijvoorbeeld als volgt uit:

 

7:41:57 AM - > Start Class Initialize

7:42:17 AM - 1998-05-06 07:42:17 > Class_Terminate: Close logfile:

AppLogger Logfile ended 7:42:17 AM 06.05.98

 

Om nu de errors te "Trappen" is er in elke procedure van elke klasse een statement toegevoegd. Treed er nu een fout op dan springt het programma naar dit statement en wordt de error samen met de tijd weggeschreven naar het log-bestand van die klasse. Dat ziet er dan als volgt uit:

 

2:03:48 PM - 13.05.98 2:03:48 PM > Start Class Initialize

2:03:48 PM - ! Class_Initialize: Item not found in this collection.

2:04:09 PM - > Class_Terminate: Close logfile:

 

Deze error houdt in dat de een element waar een bewerking op gedaan moet worden niet voorkomt in de database.

Het statement voor dat we gebruikt hebben voor deze "Error Trapping" ziet er als volgt uit:

 

Exit_Function:

Exit Function

ErrorTrap:

log.WriteEventToLogFile Error$

Resume Exit_Function

End Function

 

Als er een error voorkomt in de klasse wordt er naar ErrorTrap gesprongen deze schrijf dan de erro weg en vervolgens wordt er teruggesprongen naar Exit_Function.

Bij het testen van IKS2Acces en Login is dit "Error Trappen" nog niet erg belangrijk omdat we met Visual Basic twee of meerdere objecten tegelijk kunnen debuggen. Bij het debuggen van IKS2 aan de had van testruns van de intranet applicatie is dit wel heel handig aangezien we dan niet met twee runnende objecten kunnen werken maar alleen met de gecompileerde en aangemaakte versie.

 

 

De Intranet Applicatie

 

Nadat het testen van Login en IKS2Acces, moest de intranet applicatie geschreven worden. Eerst moest er een Login pagina gemaakt worden waarop geregistreerde users konden inloggen. Ook moest er een mogelijkheid zijn voor nieuwe users om zich aan te melden. De paginas die hiervoor gemaakt moesten worden zijn met Microsoft Frontpage aangemaakt. Dit is alleen met deze paginas mogelijk en niet met de volgende omdat de verder applicatie werkt met dynamische internet paginas. Deze paginas worden aangemaakt door IKS2 en zijn daarom niet met Frontpage aan te maken.

 

Login

 

Deze pagina zit vrij simpel in elkaar, hij bevat namelijk een HTML-form met twee HTML-input boxen. In die twee input boxen moet de user zijn userid en password ingeven. Voor een schema van de parameter overdracht verwijs ik naar bijlage C. Klopt alles dan wordt hij door gestuurd naar de applicatie pagina waarop hij de voor hem toegangkelijke applicaties tezien krijgt. Voor een schematisch programma overzicht verwijs ik naar Bijlage D. Als er iets niet klopt wordt de foutpagina getoond met daarop de bijbehorende fout. Was alleen het password verkeerd dan wordt er automatisch teruggekeer naar de Login pagina. Was ook de userID fout dan wordt door gegaan naar de Newuser pagina. Op deze pagina kan de onbekende gebruiker zich aanmelden. Ook op deze pagina wordt met een form gewerkt, het verschil met de andere pagina is dat er nu een HTML-input boxen zijn.

 

IKS2 waardemeters

 

De IKS2 intranet applicatie die wij geschreven hebben is opgesplitst in drie onderdelen namelijk:

Het eerste deel van de applicatie namelijk rapportering waardermeters is voor ieder die inlogt toegankelijk zijn de ander twee onderdelen van de applicatie moeten echter alleen toegankelijk zijn voor de mensen die de IKS2 waardemeters invoeren en veranderen. Dit wordt bereikt door dat inde IKS2 database ook is aangegeven welke gebruikers wat mogen. Als er nu een gebruiker inlogt dan zullen alleen de hyperlinks naar die delen van de applicatie verschijnen waar tot hij toegang dient te hebben.

 

Management waardemeters

 

Management is het gedeelte van de toepassing dat eigenlijk door het minst aantal personen bebruikt zal worden. De taak van deze toepassing ligt in het toevoegen van nieuwe, verwijderen van en veranderen van de gegevens over waardemeters, de parameters. Dit deel van de toepassing laad bij het activeren alle verschillende parameters in een listbox, zodat de gebruiker die parameter kan kiezen die hij wil veranderen of verwijderen. Ook kan de gebruiker ervoor kiezen om een nieuwe parameter in tebrengen. Als de gebruiker ervoor kiest de gekozen parameter te verwijderen dan wordt alvoorens de parameter wordt verwijdert eerst alle gegevens van die parameter nog een keer getoond op een pagina en er wordt om een bevestiging gevraagd. Kiest de gebruiker dan voor verwijderen dan wordt de parameter uit de database verwijdert, is dit gelukt dan zal er door IKS2 een HTML-pagina met een bevestigende tekst worden gegenereerd. Is het niet gelukt dan zal IKS2 aangeven welke error er is opgetreden. Vervolgens wordt weer terug gekeerd naar de start pagina van management waardemeters.

Als de gebruiker kiest voor het veranderen van de gekozen parameter dan zal de IKS2 een pagina genereren met alle gegevens van die parameter maar nu in inputboxes en listboxes met de verschillende hoofdwaarden (verandwoordelijke, sektie en categorie), zodat de gebruiker de waarden kan veranderen. Heeft de gebruiker de waarden van de parameter verandert en gekozen om de verandering door tevoeren dan zal IKS2 de veranderingen doorvoeren en een HTML-pagina genereren die aangeeft of alle parameters klopten en of de verandering zijn door gevoerd. De applicatie keert terug naar het begin van management.

De laatste functie die dit deel van de applicatie heeft is het toevoegen van een nieuwe parameter. De gebruiker krijgt nu weer voor alle verschillende waarden van parameters inputboxes en listboxes te zien, maar deze zijn leeg zodat hij er een totaal nieuwe parameter kan invoeren. Als de gebruiker besloten heeft de parameter toetevoegen dan zal IKS2 die opdracht uitvoeren en een HTML-pagina genereren die aangeeft of het gelukt Is en zo ja wat de ID is van de nieuwe parameter.

 

Ingave waardemeters

 

Dit deel van de applicatie is, zoals de naam ervan al suggereerd voor het ingeven van waardemeters. Bij het start van dit deel van de applicatie zal IKS2 een lijst genereren met alle verantwoordelijke, de sekties, de categorieen en het jaartal. De gebruiker selecteerd dan een gebruiker, vervolgens zal IKS2 met de gegeven waarden een lijstje samenstellen van alle waardemeters die er voor de geselecteerde waarden in dat gegeven jaar zijn. De waarden worden weergegeven per maand in een inputbox. Zo kan de gebruiker reeds bestaande waarden veranderen en nog niet bestaande waarden ingeven. De andere gegevens over de waardemeter kan de gebruiker niet veranderen en zijn dus gewoon weergegeven. Als de gebruiker de veranderingen/nieuwe ingaven wil doorvoeren zal IKS2 de gegevens voor hem checken, dat wil zeggen er wordt gekeken of de ingegeven waarden tussen de minimum en maximum waarde van deze waardemeter ligt is dat niet het geval dan zal er een HTML-pagina gegenereerd worden welk dit aangeeft. Klopt alles verder dan zal IKS2 per maand de ingegeven waarden in de database inbrengen. Er zal een HTML-pagina gegenereerd worden die aangeeft welke maand met succes zijn ingevoerd. Vervlogens keert de applicatie automatisch terug naar de startpagina van dit deel van de applicatie

 

Rapportering waardemeters

 

Rapportering waardemeters is dat gedeelte van de applicatie die ervoor zorgt dat er een goede, duidelijk en eenduidige weergave van de waardemeters plaatsvindt. De gebruiker kan zeggen welke waardemeter hij van welk jaar veergegeven wil zien. IKS2 zal alle maandwaarden van de gekozen waardemeter voor dat jaar uit de database ophalen en dan bet behulp van het activeX control Olectra Chart een mooie weergave maken in de vorm van een staafdiagram. Hoewel we eerst van plan waren dit met de activeX control ieChart te doen, bleek deze niet genoeg capaciteiten te bezitten, bovendien zou de Olectra Chart eenvoudiger in het gebruik zijn. Dit laatste bleek echter achteraf tegen te vallen.

 

Testen

 

Deze test procedure bij de intranet applicatie is totaal anders als bij de testprogrammas. Het debuggen zou volgens de handleiding van WebAction kunnen gebeuren met een in Visual Basic runnened ActiveX object, dus zeg maar real-time. Bij onze versie van WebAction werkte deze functie echter niet. Het gevolg hiervan was dat elke keer als er zich een error voor deed, Internet Explorer een foutmelding gaf waar we niets mee konden doen. Door dit probleem waren we gedwongen de ErrorTrapping, zoals die beschreven staat in het Hoofdstuk Testen toepassen. Ook waren we genoodzaakt elke keer als we veranderingen hadden aangebracht opnieuw een full compile te doen en het programma laten aanmaken. Een bij komend nadeel aan deze onhandige debug methode was dat elke keer als we een nieuwe build lieten uitvoeren we vooraf dat bewuste programma moesten uit zetten, ook wel bevrijden genoemd. Hiervoor had WebAction gelukkig een handige link bij het programma meegestuurd, deze link stelde ons instaat de objeceten snel en gemakkelijk te bevrijden.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Conclusie

 

 

 

 

 

 

 

 

 

 

Bijlage A –de Databases-

 

LOGIN

Relationships

 

 

 

Table: tblApplication

 

Columns

Name Type Size

ID Number (Long) 4

Name Text 10

Description Text 50

Anchor Text 50

Table Indexes

Name Number of Fields

ID 1

Fields: ID, Ascending

PrimaryKey 1

Fields: ID, Ascending

 

 

 

 

Table: tblGroup

 

Columns

Name Type Size

ID Number (Long) 4

Group Text 10

Description Text 50

 

Table Indexes

Name Number of Fields

ID 1

Fields: ID, Ascending

PrimaryKey 1

Fields: ID, Ascending

 

Table: tblMembership

 

Columns

Name Type Size

ID Number (Long) 4

ID_User Number (Long) 4

ID_Group Number (Long) 4

 

Table Indexes

Name Number of Fields

ID 1

Fields: ID, Ascending

ID_Group 1

Fields: ID_Group, Ascending

ID_User 1

Fields: ID_User, Ascending

PrimaryKey 1

Fields: ID, Ascending

tblGrouptblMembership 1

Fields: ID_Group, Ascending

tblUSERtblMembership 1

Fields: ID_User, Ascending

Table: tblPermissions

 

Columns

Name Type Size

ID Number (Long) 4

ID_App Number (Long) 4

ID_Group Number (Long) 4

 

Table Indexes

Name Number of Fields

ID 1

Fields: ID, Ascending

ID_App 1

Fields: ID_App, Ascending

ID_Group 1

Fields: ID_Group, Ascending

PrimaryKey 1

Fields: ID, Ascending

tblApplicationtblPermissions 1

Fields: ID_App, Ascending

tblGrouptblPermissions 1

Fields: ID_Group, Ascending

 

Table: tblUSER

 

Columns

Name Type Size

ID Number (Long) 4

Userid Text 7

FirstName Text 50

LastName Text 50

EmplNr Text 6

Department Text 10

Company Text 50

Email Text 50

Phone Text 50

Fax Text 50

Password Text 6

Dt_Creation Date/Time 8

Dt_Revoke Date/Time 8

Dt_Grant Date/Time 8

 

Table Indexes

Name Number of Fields

ID 1

Fields: ID, Ascending

PrimaryKey 1

Fields: ID, Ascending

Userid 1

Fields: Userid, Ascending

 

Query: qdelApp

 

Properties

Date Created: 5/14/98 2:12:54 PM Def. Updatable: True

FailOnError: False Last Updated: 5/14/98 2:12:55 PM

MaxRecords: 0 ODBCTimeout: 60

Record Locks: Edited Record Records Affected: 0

ReturnsRecords: True Type: Delete

UseTransaction: True

 

SQL

PARAMETERS xID Long;

DELETE tblApplication.ID

FROM tblApplication

WHERE (((tblApplication.ID)=[xID]));

 

Query Parameters

Name Type

xID Number (Long)I

 

Query: qdelGroup

 

Properties

Date Created: 5/12/98 9:00:43 AM Def. Updatable: True

FailOnError: False Last Updated: 5/12/98 9:15:12 AM

MaxRecords: 0 ODBCTimeout: 60

Record Locks: Edited Record Records Affected: 0

ReturnsRecords: True Type: Delete

UseTransaction: True

 

SQL

PARAMETERS xGroupid Long;

DELETE tblGroup.ID

FROM tblGroup

WHERE (((tblGroup.ID)=[xGroupid]));

 

Query Parameters

Name Type

xGroupid Number (Long)

 

Query: qdelMemberGroup

 

Properties

Date Created: 5/12/98 11:50:21 AM Def. Updatable: True

FailOnError: False Last Updated: 5/12/98 12:22:07 PM

MaxRecords: 0 ODBCTimeout: 60

Record Locks: Edited Record Records Affected: 0

ReturnsRecords: True Type: Delete

UseTransaction: True

 

SQL

PARAMETERS xIDGroup Long;

DELETE tblMembership.ID_Group

FROM tblMembership

WHERE (((tblMembership.ID_Group)=[xIDGroup]));

 

Query Parameters

Name Type

xIDGroup Number (Long)

 

Query: qdelMemberList

 

Properties

Date Created: 5/11/98 10:36:05 AM Def. Updatable: True

FailOnError: False Last Updated: 5/12/98 12:05:15 PM

MaxRecords: 0 ODBCTimeout: 60

Record Locks: Edited Record Records Affected: 0

ReturnsRecords: True Type: Delete

UseTransaction: True

 

SQL

PARAMETERS xIDUser Long, xIDGroup Long;

DELETE tblMembership.ID_User, tblMembership.ID_Group

FROM tblMembership

WHERE (((tblMembership.ID_User)=[xIDUser]) AND ((tblMembership.ID_Group)=[xIDGroup]));

 

Query Parameters

Name Type

xIDUser Number (Long)

xIDGroup Number (Long

 

Query: qdelMemberUser

 

Properties

Date Created: 5/12/98 11:50:36 AM Def. Updatable: True

FailOnError: False Last Updated: 5/12/98 12:05:44 PM

MaxRecords: 0 ODBCTimeout: 60

Record Locks: Edited Record Records Affected: 0

ReturnsRecords: True Type: Delete

UseTransaction: True

 

SQL

PARAMETERS xIDUser Long;

DELETE tblMembership.ID_User

FROM tblMembership

WHERE (((tblMembership.ID_User)=[xIDUser]));

 

Query Parameters

Name Type

xIDUser Number (Long)

 

Query: qdelPermissionApp

 

Properties

Date Created: 5/12/98 11:31:01 AM Def. Updatable: True

FailOnError: False Last Updated: 5/12/98 12:33:43 PM

MaxRecords: 0 ODBCTimeout: 60

Record Locks: Edited Record Records Affected: 0

ReturnsRecords: True Type: Delete

UseTransaction: True

 

SQL

PARAMETERS xIDApp Long;

DELETE tblPermissions.ID_App

FROM tblPermissions

WHERE (((tblPermissions.ID_App)=[xIDApp]));

 

Query Parameters

Name Type

xIDApp Number (Long)

 

Query: qdelPermissionGroup

 

Properties

Date Created: 5/12/98 11:26:06 AM Def. Updatable: True

FailOnError: False Last Updated: 5/12/98 12:34:49 PM

MaxRecords: 0 ODBCTimeout: 60

Record Locks: Edited Record Records Affected: 0

ReturnsRecords: True Type: Delete

UseTransaction: True

 

SQL

PARAMETERS xIDGroup Long;

DELETE tblPermissions.ID_Group

FROM tblPermissions

WHERE (((tblPermissions.ID_Group)=[xIDGroup]));

 

Query Parameters

Name Type

xIDGroup Number (Long)

 

Query: qdelPermissionList

 

Properties

Date Created: 5/12/98 9:31:05 AM Def. Updatable: True

FailOnError: False Last Updated: 5/12/98 12:35:22 PM

MaxRecords: 0 ODBCTimeout: 60

Record Locks: Edited Record Records Affected: 0

ReturnsRecords: True Type: Delete

UseTransaction: True

 

SQL

PARAMETERS xIDApp Short, xIDGroup Long;

DELETE tblPermissions.ID_App, tblPermissions.ID_Group

FROM tblPermissions

WHERE (((tblPermissions.ID_App)=[xIDApp]) AND ((tblPermissions.ID_Group)=[xIDGroup]));

 

Query Parameters

Name Type

xIDApp Number (Integer)

xIDGroup Number (Long)

 

Query: qdelUser

 

Properties

Date Created: 5/11/98 10:39:52 AM Def. Updatable: True

FailOnError: False Last Updated: 5/11/98 10:39:52 AM

MaxRecords: 0 ODBCTimeout: 60

Record Locks: Edited Record Records Affected: 0

ReturnsRecords: True Type: Delete

UseTransaction: True

 

SQL

PARAMETERS xid Long;

DELETE tblUSER.ID

FROM tblUSER

WHERE (((tblUSER.ID)=[xid]));

 

Query Parameters

Name Type

xid Number (Long)

 

Query: qinsAddApp

 

Properties

Date Created: 5/14/98 1:53:50 PM Def. Updatable: True

Last Updated: 5/14/98 1:54:20 PM MaxRecords: 0

ODBCTimeout: 60 Record Locks: Edited Record

Records Affected: 0 ReturnsRecords: True

Type: Append UseTransaction: True

 

SQL

PARAMETERS xName Text, xDescription Text, xAnchor Text;

INSERT INTO tblApplication ( Name, Description, Anchor )

SELECT [xName] AS Expr1, [xDescription] AS Expr2, [xAnchor] AS Expr3;

 

Query Parameters

Name Type

xName Text

xDescription Text

xAnchor Text

 

Query: qinsGroup

 

Properties

Date Created: 5/12/98 8:59:10 AM Def. Updatable: True

Last Updated: 5/12/98 12:11:53 PM MaxRecords: 0

ODBCTimeout: 60 Record Locks: Edited Record

Records Affected: 0 ReturnsRecords: True

Type: Append UseTransaction: True

 

SQL

PARAMETERS xGroup Text, xDescription Text;

INSERT INTO tblGroup ( [Group], Description )

SELECT [xGroup], [xDescription];

 

Query Parameters

Name Type

xGroup Text

xDescription Text

 

Query: qinsMembership

 

Properties

Date Created: 5/12/98 9:34:19 AM Def. Updatable: True

Last Updated: 5/12/98 12:11:55 PM MaxRecords: 0

ODBCTimeout: 60 Record Locks: Edited Record

Records Affected: 0 ReturnsRecords: True

Type: Append UseTransaction: True

 

SQL

PARAMETERS xIDUser Text, xIDGroup Text;

INSERT INTO tblMembership ( ID_User, ID_Group )

SELECT [xIDUser], [xIDGroup];

 

Query Parameters

Name Type

xIDUser Text

xIDGroup Text

 

Query: qinsNewUser

 

Properties

Date Created: 3/31/98 6:01:17 PM Def. Updatable: True

Last Updated: 4/1/98 10:41:30 AM MaxRecords: 0

ODBCTimeout: 60 Record Locks: Edited Record

Records Affected: 0 ReturnsRecords: True

Type: Append UseTransaction: True

 

SQL

PARAMETERS xUserid Text, xPassword Text, xCompNumber Text, xCompany Text, xDepartment Text,

xEmail Text, xPhone Text, xFax Text, xFirstName Text, xLastName Text;

INSERT INTO tblUSER ( Userid, Password, EmplNr, Company, Department, Email, Phone, Fax,

FirstName, LastName )

SELECT [xUserid], [xPassword], [xCompNumber], [xCompany], [xDepartment], [xEmail], [xPhone],

[xFax], [xFirstName], [xLastName];

 

Query Parameters

Name Type

xUserid Text

xPassword Text

xCompNumber Text

xCompany Text

xDepartment Text

xEmail Text

xPhone Text

xFax Text

xFirstName Text

xLastName Text

 

Query: qinsPermission

 

Properties

Date Created: 5/12/98 11:34:49 AM Def. Updatable: True

Last Updated: 5/12/98 11:44:12 AM MaxRecords: 0

ODBCTimeout: 60 Record Locks: Edited Record

Records Affected: 0 ReturnsRecords: True

Type: Append UseTransaction: True

 

SQL

PARAMETERS xIDApp Long, xIDGroup Long;

INSERT INTO tblPermissions ( ID_App, ID_Group )

SELECT [xIDApp], [xIDGroup];

 

Query Parameters

Name Type

xIDApp Number (Long)

xIDGroup Number (Long)

 

Query: qselControl

 

Properties

Date Created: 5/8/98 4:37:27 PM Def. Updatable: True

Last Updated: 5/13/98 9:48:39 AM MaxRecords: 0

ODBCTimeout: 60 OrderByOn: False

Record Locks: No Locks Records Affected: 0

RecordsetType: All Records ReturnsRecords: True

Type: Select

 

SQL

PARAMETERS xUserid Text, xPassword Text;

SELECT tblUSER.Userid, tblUSER.Password, tblUSER.ID, tblUSER.FirstName, tblUSER.LastName,

tblUSER.EmplNr, tblUSER.Department, tblUSER.Company, tblUSER.Email, tblUSER.Phone,

tblUSER.Fax, tblUSER.Dt_Creation, tblUSER.Dt_Revoke, tblUSER.Dt_Grant

FROM tblUSER

WHERE (((tblUSER.Userid)=[xUserid]) AND ((tblUSER.Password)=[xPassword]));

 

Query Parameters

Name Type

xUserid Text

xPassword Text

 

Columns

Name Type Size

Userid Text 7

Password Text 6

ID Number (Long) 4

FirstName Text 50

LastName Text 50

EmplNr Text 6

Department Text 10

Company Text 50

Email Text 50

Phone Text 50

Fax Text 50

Dt_Creation Date/Time 8

Dt_Revoke Date/Time 8

Dt_Grant Date/Time 8

 

Query: qselGranted

 

Properties

Date Created: 4/2/98 4:09:50 PM Def. Updatable: True

Last Updated: 4/2/98 4:10:01 PM MaxRecords: 0

ODBCTimeout: 60 OrderByOn: False

Record Locks: No Locks Records Affected: 0

RecordsetType: All Records ReturnsRecords: True

Type: Select

 

SQL

SELECT tblUSER.ID, tblUSER.Userid, tblUSER.FirstName, tblUSER.LastName, tblUSER.Email,

tblUSER.Phone, tblUSER.Fax, tblUSER.Dt_Creation

FROM tblUSER

WHERE (((tblUSER.Dt_Grant) Is Not Null) AND ((tblUSER.Dt_Revoke) Is Null));

 

Columns

Name Type Size

ID Number (Long) 4

Userid Text 7

FirstName Text 50

LastName Text 50

Email Text 50

Phone Text 50

Fax Text 50

Dt_Creation Date/Time 8

 

Query: qselIsAdmin

 

Properties

Date Created: 5/11/98 10:11:37 AM Def. Updatable: True

Last Updated: 5/11/98 10:12:12 AM MaxRecords: 0

ODBCTimeout: 60 OrderByOn: False

Record Locks: No Locks Records Affected: 0

RecordsetType: All Records ReturnsRecords: True

Type: Select

 

SQL

PARAMETERS xUserid Text, xPassword Text;

SELECT tblUSER.ID, tblUSER.Userid, tblUSER.Password, tblGroup.ID, tblGroup.Group

FROM tblUSER INNER JOIN (tblGroup INNER JOIN tblMembership ON tblGroup.ID =

tblMembership.ID_Group) ON tblUSER.ID = tblMembership.ID_User

WHERE (((tblUSER.Userid)=[xUserid]) AND ((tblUSER.Password)=[xPassword]) AND ((tblGroup.ID)=1));

 

Query Parameters

Name Type

xUserid Text

xPassword Text

 

Columns

Name Type Size

tblUSER.ID Number (Long) 4

Userid Text 7

Password Text 6

tblGroup.ID Number (Long) 4

Group Text 10

 

Query: qselMembership

 

Properties

Date Created: 4/2/98 2:24:37 PM Def. Updatable: True

Last Updated: 4/2/98 2:24:53 PM MaxRecords: 0

ODBCTimeout: 60 OrderByOn: False

Record Locks: No Locks Records Affected: 0

RecordsetType: All Records ReturnsRecords: True

Type: Select

 

SQL

SELECT tblUSER.ID, tblUSER.Userid, tblGroup.ID, tblGroup.Group

FROM tblUSER INNER JOIN (tblGroup INNER JOIN tblMembership ON tblGroup.ID =

tblMembership.ID_Group) ON tblUSER.ID = tblMembership.ID_User;

 

Columns

Name Type Size

tblUSER.ID Number (Long) 4

Userid Text 7

tblGroup.ID Number (Long) 4

Group Text 10

 

Query: qselMembershipUser

 

Properties

Date Created: 5/11/98 2:33:33 PM Def. Updatable: True

Last Updated: 5/11/98 2:34:57 PM MaxRecords: 0

ODBCTimeout: 60 OrderByOn: False

Record Locks: No Locks Records Affected: 0

RecordsetType: All Records ReturnsRecords: True

Type: Select

 

SQL

PARAMETERS xIDUser Long;

SELECT tblGroup.ID, tblGroup.Group, tblGroup.Description

FROM tblUSER INNER JOIN (tblGroup INNER JOIN tblMembership ON tblGroup.ID =

tblMembership.ID_Group) ON tblUSER.ID = tblMembership.ID_User

WHERE (((tblUSER.ID)=[xIDUser]));

 

Query Parameters

Name Type

xIDUser Number (Long)

 

Columns

Name Type Size

ID Number (Long) 4

Group Text 10

Description Text 50

 

Query: qselMemberShipUser1

 

Properties

Date Created: 5/11/98 3:36:20 PM Def. Updatable: True

Last Updated: 5/11/98 3:40:08 PM MaxRecords: 0

ODBCTimeout: 60 OrderByOn: False

Record Locks: No Locks Records Affected: 0

RecordsetType: All Records ReturnsRecords: True

Type: Select

 

 

SQL

PARAMETERS XUserid Text;

SELECT tblMembership.ID_Group

FROM tblUSER INNER JOIN tblMembership ON tblUSER.ID = tblMembership.ID_User

WHERE (((tblUSER.Userid)=[xUserid]));

 

Query Parameters

Name Type

XUserid Text

 

Columns

Name Type Size

ID_Group Number (Long) 4

 

Query: qselMembershipUser2

 

Properties

Date Created: 5/11/98 3:38:55 PM Def. Updatable: True

Last Updated: 5/11/98 4:26:44 PM MaxRecords: 0

ODBCTimeout: 60 OrderByOn: False

Record Locks: No Locks Records Affected: 0

RecordsetType: All Records ReturnsRecords: True

Type: Select

 

SQL

SELECT tblGroup.ID, tblGroup.Group, tblGroup.Description, IsNull([ID_Group]) AS IsMember

FROM qselMemberShipUser1 RIGHT JOIN tblGroup ON qselMemberShipUser1.ID_Group = tblGroup.ID;

 

Query Parameters

Name Type

XUserid Text

 

Columns

Name Type Size

ID Number (Long) 4

Group Text 10

Description Text 50

IsMember Number (Integer) 2

 

Query: qselNotGranted

 

Properties

Date Created: 4/2/98 2:26:00 PM Def. Updatable: True

Last Updated: 4/2/98 3:45:52 PM MaxRecords: 0

ODBCTimeout: 60 OrderByOn: False

Record Locks: No Locks Records Affected: 0

RecordsetType: All Records ReturnsRecords: True

Type: Select

 

SQL

SELECT tblUSER.ID, tblUSER.Userid, tblUSER.FirstName, tblUSER.LastName, tblUSER.Email,

tblUSER.Phone, tblUSER.Fax, tblUSER.Dt_Creation

FROM tblUSER

WHERE (((tblUSER.Dt_Grant) Is Null) AND ((tblUSER.Dt_Revoke) Is Null));

 

Columns

Name Type Size

ID Number (Long) 4

Userid Text 7

FirstName Text 50

LastName Text 50

Email Text 50

Phone Text 50

Fax Text 50

Dt_Creation Date/Time 8

 

Query: qselRevoked

 

Properties

Date Created: 4/2/98 4:10:14 PM Def. Updatable: True

Last Updated: 4/2/98 4:10:24 PM MaxRecords: 0

ODBCTimeout: 60 OrderByOn: False

Record Locks: No Locks Records Affected: 0

RecordsetType: All Records ReturnsRecords: True

Type: Select

 

SQL

SELECT tblUSER.ID, tblUSER.Userid, tblUSER.FirstName, tblUSER.LastName, tblUSER.Email,

tblUSER.Phone, tblUSER.Fax, tblUSER.Dt_Creation

FROM tblUSER

WHERE (((tblUSER.Dt_Revoke) Is Not Null));

 

Columns

Name Type Size

ID Number (Long) 4

Userid Text 7

FirstName Text 50

LastName Text 50

Email Text 50

Phone Text 50

Fax Text 50

Dt_Creation Date/Time 8

 

Query: qselUserHasRights

 

Properties

Date Created: 5/25/98 4:53:07 PM Def. Updatable: True

Last Updated: 5/26/98 12:12:33 PM MaxRecords: 0

ODBCTimeout: 60 OrderByOn: False

Record Locks: No Locks Records Affected: 0

RecordsetType: All Records ReturnsRecords: True

Type: Select

 

SQL

PARAMETERS xUserid Text, xAppDesc Text;

SELECT tblUSER.Userid, tblApplication.Description

FROM tblUSER INNER JOIN ((tblGroup INNER JOIN tblMembership ON tblGroup.ID =

tblMembership.ID_Group) INNER JOIN (tblApplication INNER JOIN tblPermissions ON tblApplication.ID =

tblPermissions.ID_App) ON tblGroup.ID = tblPermissions.ID_Group) ON tblUSER.ID =

tblMembership.ID_User

WHERE (((tblUSER.Userid)=[xUserid]) AND ((tblApplication.Description)=[xAppDesc]) AND

((IsNull([Dt_Revoke]))=True) AND ((IsNull([Dt_Grant]))=False));

 

Query Parameters

Name Type

xUserid Text

xAppDesc Text

 

Columns

Name Type Size

Userid Text 7

Description Text 50

 

Query: qselUserRights

 

Properties

Date Created: 4/2/98 2:31:23 PM Def. Updatable: True

Last Updated: 4/2/98 3:36:53 PM MaxRecords: 0

ODBCTimeout: 60 OrderByOn: False

Record Locks: No Locks Records Affected: 0

RecordsetType: All Records ReturnsRecords: True

Type: Select

 

SQL

PARAMETERS xUserid Text;

SELECT tblApplication.ID, tblApplication.Name, tblApplication.Description, tblApplication.Anchor,

tblUSER.FirstName, tblUSER.LastName, tblUSER.Dt_Grant

FROM tblUSER INNER JOIN ((tblGroup INNER JOIN tblMembership ON tblGroup.ID =

tblMembership.ID_Group) INNER JOIN (tblApplication INNER JOIN tblPermissions ON tblApplication.ID =

tblPermissions.ID_App) ON tblGroup.ID = tblPermissions.ID_Group) ON tblUSER.ID =

tblMembership.ID_User

WHERE (((tblUSER.Userid)=[xUserid]) AND (Not (tblUSER.Dt_Grant) Is Null));

 

Query Parameters

Name Type

xUserid Text

 

Columns

Name Type Size

ID Number (Long) 4

Name Text 10

Description Text 50

Anchor Text 50

FirstName Text 50

LastName Text 50

Dt_Grant Date/Time 8

 

Query: qupdGrantUser

 

Properties

Date Created: 5/11/98 11:00:15 AM Def. Updatable: True

FailOnError: False Last Updated: 5/11/98 11:01:47 AM

MaxRecords: 0 ODBCTimeout: 60

Record Locks: Edited Record Records Affected: 0

ReturnsRecords: True Type: Update

UseTransaction: True

 

SQL

PARAMETERS xid Long;

UPDATE tblUSER SET tblUSER.Dt_Grant = Now(), tblUSER.Dt_Revoke = Null

WHERE (((tblUSER.ID)=[xid]));

 

Query Parameters

Name Type

xid Number (Long)

 

Query: qupdNewPassword

 

Properties

Date Created: 4/1/98 11:30:30 AM Def. Updatable: True

Last Updated: 4/1/98 11:30:30 AM MaxRecords: 0

ODBCTimeout: 60 Record Locks: No Locks

Records Affected: 0 ReturnsRecords: True

Type: Update

 

SQL

PARAMETERS xuserid Text, xoldpassword Text, xnewpassword Text;

UPDATE tblUSER SET tblUSER.Password = [xnewpassword]

WHERE (((tblUSER.Userid)=[xuserid]) AND ((tblUSER.Password)=[xoldpassword]));

 

Query Parameters

Name Type

xuserid Text

xoldpassword Text

xnewpassword Text

 

Query: qupdPassword

 

Properties

Date Created: 5/11/98 11:29:21 AM Def. Updatable: True

FailOnError: False Last Updated: 5/11/98 11:34:54 AM

MaxRecords: 0 ODBCTimeout: 60

Record Locks: Edited Record Records Affected: 0

ReturnsRecords: True Type: Update

UseTransaction: True

 

SQL

PARAMETERS xUserid Text, [xNewPassword ] Text, xOldPassword Text;

UPDATE tblUSER SET tblUSER.Password = [xNewPassword]

WHERE (((tblUSER.Password)=[xOldPassword]) AND ((tblUSER.Userid)=[xUserid]));

 

Query Parameters

Name Type

xUserid Text

xNewPassword Text

xOldPassword Text

 

Query: qupdRevokeUser

 

Properties

Date Created: 5/11/98 10:53:34 AM Def. Updatable: True

FailOnError: False Last Updated: 5/11/98 11:02:05 AM

MaxRecords: 0 ODBCTimeout: 60

Record Locks: Edited Record Records Affected: 0

ReturnsRecords: True Type: Update

UseTransaction: True

 

SQL

PARAMETERS xid Long;

UPDATE tblUSER SET tblUSER.Dt_Grant = Null, tblUSER.Dt_Revoke = Now()

WHERE (((tblUSER.ID)=[xid]));

 

Query Parameters

Name Type

xid Number (Long)

 

 

IKS2

 

Table: tblCATEGORIE

 

Columns

Name Type Size

ID Number (Long) 4

Omschrijf Text 50

Name Text 10

 

Table Indexes

Name Number of Fields

ID 1

Fields: ID, Ascending

PrimaryKey 1

Fields: ID, Ascending

 

Table: tblMAAND

 

Columns

Name Type Size

ID Number (Long) 4

MAANDKORT Text 20

MAANDNUM Number (Long) 4

MAANDLANG Text 50

 

Table Indexes

Name Number of Fields

ID 1

Fields: ID, Ascending

MAANDNUM 1

Fields: MAANDNUM, Ascending

PrimaryKey 1

Fields: ID, Ascending

 

Table: tblPARAM

 

Columns

Name Type Size

ID Number (Long) 4

Name Text 10

Omschrijf Text 50

Max Number (Double) 8

Min Number (Double) 8

ID_USER Number (Long) 4

ID_SEKTIE Number (Long) 4

ID_CAT Number (Long) 4

Eh Text 15

 

Table Indexes

Name Number of Fields

ID 1

Fields: ID, Ascending

ID_CAT 1

Fields: ID_CAT, Ascending

ID_SEKTIE 1

Fields: ID_SEKTIE, Ascending

ID_USER 1

Fields: ID_USER, Ascending

PrimaryKey 1

Fields: ID, Ascending

tblCATEGORIEtblPARAM 1

Fields: ID_CAT, Ascending

tblSEKTIEtblPARAM 1

Fields: ID_SEKTIE, Ascending

tblUSERtblPARAM 1

Fields: ID_USER, Ascending

 

Table: tblSEKTIE

 

Columns

Name Type Size

ID Number (Long) 4

NAME Text 20

Omschrijf Text 50

 

Table Indexes

Name Number of Fields

ID 1

Fields: ID, Ascending

PrimaryKey 1

Fields: ID, Ascending

 

Table: tblUSER

 

Columns

Name Type Size

ID Number (Long) 4

Name Text 50

Omschrijf Text 50

 

Table Indexes

Name Number of Fields

ID 1

Fields: ID, Ascending

PrimaryKey 1

Fields: ID, Ascending

 

Table: tblWAARDE

 

Columns

Name Type Size

ID Number (Long) 4

ID_Param Number (Long) 4

Jaar Number (Integer) 2

Maand_ID Number (Long) 4

Waarde Number (Double) 8

 

Table Indexes

Name Number of Fields

ID 1

Fields: ID, Ascending

ID_Param 1

Fields: ID_Param, Ascending

Maand_ID 1

Fields: Maand_ID, Ascending

PrimaryKey 1

Fields: ID, Ascending

tblMAANDtblWAARDE 1

Fields: Maand_ID, Ascending

tblPARAMtblWAARDE 1

Fields: ID_Param, Ascending

Query: qdelCategorie

 

Properties

Date Created: 4/15/98 2:20:42 PM Def. Updatable: True

FailOnError: False Last Updated: 4/15/98 2:23:01 PM

MaxRecords: 0 ODBCTimeout: 60

Record Locks: Edited Record Records Affected: 0

ReturnsRecords: True Type: Delete

UseTransaction: True

 

SQL

PARAMETERS xID Long;

DELETE tblCATEGORIE.ID

FROM tblCATEGORIE

WHERE (((tblCATEGORIE.ID)=[xID]));

 

Query Parameters

Name Type

xID Number (Long)

 

Query: qdelParam

 

Properties

Date Created: 4/15/98 11:42:33 AM Def. Updatable: True

FailOnError: False Last Updated: 4/15/98 11:42:33 AM

MaxRecords: 0 ODBCTimeout: 60

Record Locks: Edited Record Records Affected: 0

ReturnsRecords: True Type: Delete

UseTransaction: True

 

SQL

PARAMETERS xID Long;

DELETE tblPARAM.ID

FROM tblPARAM

WHERE (((tblPARAM.ID)=[xID]));

 

Query Parameters

Name Type

xID Number (Long)

 

Query: qdelSektie

 

Properties

Date Created: 4/15/98 2:51:28 PM Def. Updatable: True

FailOnError: False Last Updated: 4/15/98 2:51:28 PM

MaxRecords: 0 ODBCTimeout: 60

Record Locks: Edited Record Records Affected: 0

ReturnsRecords: True Type: Delete

UseTransaction: True

 

SQL

PARAMETERS xID Long;

DELETE tblSEKTIE.ID

FROM tblSEKTIE

WHERE (((tblSEKTIE.ID)=[xID]));

 

Query Parameters

Name Type

xID Number (Long)

 

Query: qdelUser

 

Properties

Date Created: 4/15/98 2:52:17 PM Def. Updatable: True

FailOnError: False Last Updated: 4/15/98 2:52:17 PM

MaxRecords: 0 ODBCTimeout: 60

Record Locks: Edited Record Records Affected: 0

ReturnsRecords: True Type: Delete

UseTransaction: True

 

SQL

PARAMETERS xID Text;

DELETE tblUSER.ID

FROM tblUSER

WHERE (((tblUSER.ID)=[xID]));

 

Query Parameters

Name Type

xID Text

 

Query: qinsParam

 

Properties

Date Created: 4/15/98 11:45:49 AM Def. Updatable: True

Last Updated: 4/15/98 11:45:49 AM MaxRecords: 0

ODBCTimeout: 60 Record Locks: Edited Record

Records Affected: 0 ReturnsRecords: True

Type: Append UseTransaction: True

 

SQL

PARAMETERS xName Text, xOmschrijf Text, xMax IEEEDouble, xMin Text, xID_USER Long,

xID_SEKTIE Long, xID_CAT Long, xEh Text;

INSERT INTO tblPARAM ( Name, Omschrijf, Max, Min, ID_USER, ID_SEKTIE, ID_CAT, Eh )

SELECT [xName] AS Expr1, [xOmschrijf] AS Expr2, [xMAX] AS Expr3, [xMin] AS Expr4, [xID_USER] AS

Expr5, [xID_SEKTIE] AS Expr6, [xID_CAT] AS Expr7, [Xeh] AS Expr8;

 

Query Parameters

Name Type

xName Text

xOmschrijf Text

xMax Number (Double)

xMin Text

xID_USER Number (Long)

xID_SEKTIE Number (Long)

xID_CAT Number (Long)

xEh Text

 

Query: qinsWaarden

 

Properties

Date Created: 4/10/98 1:51:27 PM Def. Updatable: True

Last Updated: 4/10/98 3:20:16 PM MaxRecords: 0

ODBCTimeout: 60 Record Locks: Edited Record

Records Affected: 0 ReturnsRecords: True

Type: Append UseTransaction: True

 

SQL

INSERT INTO tblWAARDE ( ID_Param, Jaar, Waarde, Maand_ID )

SELECT tblPARAM.ID, 1997 AS Expr1, WaardenNu.JAN, tblMAAND.ID

FROM tblMAAND, WaardenNu INNER JOIN tblPARAM ON WaardenNu.IDENTIFICATIE =

tblPARAM.Name

WHERE (((tblMAAND.MAANDKORT)="JAN"));

 

Query: qmkCategorie

 

Properties

Date Created: 4/10/98 3:28:05 PM Def. Updatable: True

Last Updated: 4/10/98 3:28:05 PM MaxRecords: 0

ODBCTimeout: 60 Record Locks: No Locks

Records Affected: 0 ReturnsRecords: True

Type: Make-table

 

SQL

SELECT DISTINCT Controle.TYPE INTO tblCategorie

FROM Controle;

 

Query: qselCategorie

 

Properties

Date Created: 4/15/98 2:07:12 PM Def. Updatable: True

Last Updated: 4/15/98 2:07:12 PM MaxRecords: 0

ODBCTimeout: 60 OrderByOn: False

Record Locks: No Locks Records Affected: 0

RecordsetType: All Records ReturnsRecords: True

Type: Select

 

SQL

PARAMETERS xID Long;

SELECT tblCATEGORIE.Name, tblCATEGORIE.Omschrijving, tblCATEGORIE.ID

FROM tblCATEGORIE

WHERE (((tblCATEGORIE.ID)=[xID]));

 

Query Parameters

Name Type

xID Number (Long)

tblCATEGORIE.Omschrijvin Text

 

Columns

Name Type Size

Name Text 10

Omschrijving Unknown 0

ID Number (Long) 4

 

Query: qselMaand

 

Properties

Date Created: 4/15/98 2:43:32 PM Def. Updatable: True

Last Updated: 4/15/98 2:43:32 PM MaxRecords: 0

ODBCTimeout: 60 OrderByOn: False

Record Locks: No Locks Records Affected: 0

RecordsetType: All Records ReturnsRecords: True

Type: Select

 

SQL

PARAMETERS xID Long;

SELECT tblMAAND.MAANDKORT, tblMAAND.MAANDNUM, tblMAAND.MAANDLANG, tblMAAND.ID

FROM tblMAAND

WHERE (((tblMAAND.ID)=[xID]));

 

Query Parameters

Name Type

xID Number (Long)

 

Columns

Name Type Size

MAANDKORT Text 20

MAANDNUM Number (Long) 4

MAANDLANG Text 50

ID Number (Long) 4

 

Query: qselOmgeving

 

Properties

Date Created: 4/10/98 3:26:57 PM Def. Updatable: True

Last Updated: 4/10/98 3:26:57 PM MaxRecords: 0

ODBCTimeout: 60 OrderByOn: False

Record Locks: No Locks Records Affected: 0

RecordsetType: All Records ReturnsRecords: True

Type: Select

 

SQL

PARAMETERS xUserid Text;

SELECT tblPARAM.ID, tblPARAM.Name, tblPARAM.Omschrijf, tblPARAM.ID_USER, tblUSER.Name,

tblUSER.Omschrijving

FROM tblUSER INNER JOIN tblPARAM ON tblUSER.ID = tblPARAM.ID_USER

WHERE (((tblUSER.Name)=[xUserid]));

 

Query Parameters

Name Type

xUserid Text

tblUSER.Omschrijving Text

 

Columns

Name Type Size

ID Number (Long) 4

tblPARAM.Name Text 10

Omschrijf Text 50

ID_USER Number (Long) 4

tblUSER.Name Text 50

Omschrijving Unknown 0

 

Query: qselParam

 

Properties

Date Created: 4/15/98 11:41:39 AM Def. Updatable: True

Last Updated: 4/15/98 11:41:39 AM MaxRecords: 0

ODBCTimeout: 60 OrderBy: tblPARAM.ID_CAT

OrderByOn: False Record Locks: No Locks

Records Affected: 0 RecordsetType: All Records

ReturnsRecords: True Type: Select

 

SQL

PARAMETERS xID Long;

SELECT tblPARAM.Name, tblPARAM.Omschrijf, tblPARAM.Max, tblPARAM.Min, tblPARAM.ID_USER,

tblPARAM.ID_SEKTIE, tblPARAM.ID_CAT, tblPARAM.Eh, tblPARAM.ID

FROM tblPARAM

WHERE (((tblPARAM.ID)=[xID]));

 

Query Parameters

Name Type

xID Number (Long)

 

Columns

Name Type Size

Name Text 10

Omschrijf Text 50

Max Number (Double) 8

Min Number (Double) 8

ID_USER Number (Long) 4

ID_SEKTIE Number (Long) 4

ID_CAT Number (Long) 4

Eh Text 15

ID Number (Long) 4

 

Query: qselSektie

 

Properties

Date Created: 4/15/98 2:45:23 PM Def. Updatable: True

Last Updated: 4/15/98 2:45:23 PM MaxRecords: 0

ODBCTimeout: 60 OrderByOn: False

Record Locks: No Locks Records Affected: 0

RecordsetType: All Records ReturnsRecords: True

Type: Select

 

SQL

PARAMETERS xID Long;

SELECT tblSEKTIE.NAME, tblSEKTIE.Omschrijf, tblSEKTIE.ID

FROM tblSEKTIE

WHERE (((tblSEKTIE.ID)=[xID]));

 

Query Parameters

Name Type

xID Number (Long)

 

Columns

Name Type Size

NAME Text 20

Omschrijf Text 50

ID Number (Long) 4

 

Query: qselUser

 

Properties

Date Created: 4/15/98 2:46:13 PM Def. Updatable: True

Last Updated: 4/15/98 2:46:13 PM MaxRecords: 0

ODBCTimeout: 60 OrderByOn: False

Record Locks: No Locks Records Affected: 0

RecordsetType: All Records ReturnsRecords: True

Type: Select

 

SQL

PARAMETERS xID Long;

SELECT tblUSER.Name, tblUSER.Omschrijf, tblUSER.ID

FROM tblUSER

WHERE (((tblUSER.ID)=[xID]));

 

Query Parameters

Name Type

xID Number (Long)

 

Columns

Name Type Size

Name Text 50

Omschrijf Text 50

ID Number (Long) 4

 

Query: qupdCategorie

 

Properties

Date Created: 4/15/98 2:12:41 PM Def. Updatable: True

FailOnError: False Last Updated: 4/15/98 2:22:09 PM

MaxRecords: 0 ODBCTimeout: 60

Record Locks: Edited Record Records Affected: 0

ReturnsRecords: True Type: Update

UseTransaction: True

SQL

PARAMETERS xID Long, xName Text, xOmschrijf Text;

UPDATE tblCATEGORIE SET tblCATEGORIE.Name = [xName], tblCATEGORIE.Omschrijving =

[xOmschrijf]

WHERE (((tblCATEGORIE.ID)=[xID]));

 

Query Parameters

Name Type

xID Number (Long)

xName Text

xOmschrijf Text

tblCATEGORIE.Omschrijvin Text

 

Query: qupdParam

 

Properties

Date Created: 4/15/98 11:40:36 AM Def. Updatable: True

FailOnError: False Last Updated: 4/15/98 11:40:36 AM

MaxRecords: 0 ODBCTimeout: 60

Record Locks: Edited Record Records Affected: 0

ReturnsRecords: True Type: Update

UseTransaction: True

 

SQL

PARAMETERS xID Long, xName Text, xOmschrijf Text, xMax IEEEDouble, xMin IEEEDouble, xID_USER

Long, xID_SEKTIE Long, xID_Cat Long, xEh Text;

UPDATE tblPARAM SET tblPARAM.Name = [xName], tblPARAM.Omschrijf = [xOmschrijf], tblPARAM.Max

= [xMax], tblPARAM.Min = [xMin], tblPARAM.ID_USER = [xID_USER], tblPARAM.ID_SEKTIE =

[xID_SEKTIE], tblPARAM.ID_CAT = [xID_CAT], tblPARAM.Eh = [xEh]

WHERE (((tblPARAM.ID)=[xID]));

 

Query Parameters

Name Type

xID Number (Long)

xName Text

xOmschrijf Text

xMax Number (Double)

xMin Number (Double)

xID_USER Number (Long)

xID_SEKTIE Number (Long)

xID_Cat Number (Long)

xEh Text

Query: qupdSektie

 

Properties

Date Created: 4/15/98 2:48:33 PM Def. Updatable: True

FailOnError: False Last Updated: 4/15/98 2:48:33 PM

MaxRecords: 0 ODBCTimeout: 60

Record Locks: Edited Record Records Affected: 0

ReturnsRecords: True Type: Update

UseTransaction: True

 

SQL

PARAMETERS xID Long, xName Text, xOmschrijf Text;

UPDATE tblSEKTIE SET tblSEKTIE.NAME = [xName], tblSEKTIE.Omschrijf = [xOmschrijf];

 

Query Parameters

Name Type

xID Number (Long)

xName Text

xOmschrijf Text

 

Query: qupdUser

Properties

Date Created: 4/15/98 2:50:24 PM Def. Updatable: True

FailOnError: False Last Updated: 4/15/98 2:50:24 PM

MaxRecords: 0 ODBCTimeout: 60

Record Locks: Edited Record Records Affected: 0

ReturnsRecords: True Type: Update

UseTransaction: True

 

SQL

PARAMETERS xID Long, xName Text, xOmschrijf Text;

UPDATE tblUSER SET tblUSER.Name = [xName], tblUSER.Omschrijf = [xOmschrijf]

WHERE (((tblUSER.ID)=[xID]));

 

Query Parameters

Name Type

xID Number (Long)

xName Text

xOmschrijf Text

 

 

 

Bijlage B -Programma Schema's-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Bijlage C –parameter overdracht-

 

 

 

Bijlage D -Programma Code-

 

Bijlage -Informatiebronnen-

Literatuur

 

with Visual Basic 5.0 ZD Press

Online Literatuur

 

 

 

 

 

 

 

 

 

 

 

 

Bijlage E -Plan Van Aanpak (b)-

 

 

 

 

 

 

Bijlage F -Weekrapportage-

 

Week1

 

Dag

Datum

Begin

Eind

Omschrijving

Maandag

30.03.’98

8u00

10u00

Melden bij personeelsdienst voor contract en medische keuring.

10u00

 

12u30

 

Ververen e-mail adress en externe toegang tot e-mail van de hogeschool

13u00

14u00

Overleg met Dhr. J. Debal over stageopdracht en preciese aanpak van het gestelde probleem:

Het op intranet zetten van "IKS2" Excel gegevens, waarop aan de hand van WebAction in samenwerking met Visual Basic query’s ,die in Acces gedefinieerd zijn, kunnen worden uitgevoerd.

15u00

16u30

Doornemen WebAction handleiding en IKS2 tabellen.

Dinsdag

31.03.’98

7u45

8u00

Flowchart diagram maken over de werking van WebAction in samenwerking met Visual Basic.

8u00

 

10u30

 

Doornemen HTML-reference guide en oefenen met het maken van HTML-documenten

10u30

13u00

12u30

16u15

Meewerken aan de tot standkoming van de eerste test voor WebAction nml. Login

  • Code aanmaken in Visual Basic
  • Test database(je) aanmaken in Acces
  • HTML-document aanmaken met Frontpage
  • Invoegen WebAction triggers in HTML-document
  • Testen

Woensdag

01.04.’98

7u45

 

11u30

 

Meewerken aan de tot standkoming van NewUser en ChangePW

11u30

12u30

Testen van NewUser en ChangePW

Onderandere doormiddel van invoegen ErrorTraps

13u00

14u30

Optimaliseren van de gemaakte Responses in de Classes dmv. Case statements

14u30

16u15

Maken van de code voor Environment

Donderdag

02.04.’98

7u45

10u30

Ondekte errors in Code veranderen en Code bijschaven door het tot public verheffen van bepaalde functies zoals IsLeeg en ShowTable

10u30

11U30

Maken van de code, tabellen en query’s voor App en NotGranted

13u00

13u30

Testen van App en NotGranted Onderandere doormiddel van invoegen ErrorTraps

13u30

14u00

Flowchart diagram maken om de werking van de site te verduidelijken en overzichtelijk weer te geven.

14u00

16u15

Maken van de code, tabellen en query’s voor Granted en Revoked

Vrijdag

03.04.’98

7u45

10u00

Testen van de gemaakte code, tabellen en query’s voor Granted en Revoked dmv. testruns met dummy namen in de tabellen

10u00

12u00

Maken van code voor eerste HTML object uit de HTML-reference guide.

12u30

16u15

Maken van de code voor de objecten tot en met Caption

 

 

Week2

 

Dag

Datum

Begin

Eind

Omschrijving

Maandag

30.03.’98

7u30

12u00

Maken van de code voor HTMLobjects, vanaf Caption tot en met Iframe

12u30

 

16u15

 

Maken vqn de code voor HTMLobjects, vanaf Iframe tot en met Object

Dinsdag

31.03.’98

7u30

12u00

Afaken van HTMLobject,vanaf Object tot en met XMP

12u30

 

13u30

 

Document maken met de Tag's en de bijbehorende Classnames.

13u30

16u00

Na kijken en corrigeren van code.

16u00

16u30

Werken aan verslaggeving voor school

Woensdag

01.04.’98

 

 

 

 

 

 

 

 

 

 

 

 

Donderdag

02.04.’98

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Vrijdag

03.04.’98

 

 

 

 

 

 

 

 

 

 

Week3

 

Dag

Datum

Begin

Eind

Omschrijving

Maandag

6.04.’98

Vrij 2de paasdag

Dinsdag

7.04.’98

7u30

12u00

Afaken van HTMLobject,vanaf Object tot en met XMP

12u30

 

13u30

 

Document maken met de Tag's en de bijbehorende Classnames.

13u30

16u00

Na kijken en corrigeren van code.

16u00

16u30

Werken aan verslaggeving voor school

Woensdag

08.04.’98

 

 

 

 

 

 

 

 

 

 

 

 

Donderdag

09.04.’98

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Vrijdag

10.04.’98

7u30

12u00

Verder werken aan testprogramma voor IKS2Acces

Maken van Toevoeg forms en code voor Sektie, Categorie en Param

12u00

16u15

Testen gemaakte code en verbeteringen/veranderingen aan brengen.

Leren uit boek Hardcore Visual Basic

 

 

Week4

 

Dag

Datum

Begin

Eind

Omschrijving

Maandag

13.04.’98

7u30

12u00

Verder werken aan testprogramma IKS2, toevoegen van functies en forms voor Delete/Verwijder voor Sektie, Categorie en Param

12u30

 

16u15

 

Testen van code en verder werken aan Update, verbeteren van code, ondekte fouten in Database en HTML-object veranderen

Dinsdag

14.04.’98

7u30

10u00

Test programma is af en goed gekeurd

10u00

 

12u30

 

Scrijven van code voor generen van een dynamische internet pagina Param… en Parammodify

12u30

15u00

Testen van eerste dynamische internet pagina en nadenken over en debuggen van fouten in tweede pagina

16u00

16u30

Verder code veranderen aan Parammodify en begin maken met nieuwe klasse ParamUpdate

Woensdag

15.04.’98

7u30

12u00

Testen van html pagina's die gegenereerd worden door Parammodify en ParamUpdate.

12u30

16u30

Schrijven van code voor ParamInsert

Donderdag

16.04.’98

7u30

12u00

Testen van Paraminsert pagina en aanpassen van code voor ParamUpdate.

12u30

16u30

Verbeteren en versnellen van code door het veranderen van bepaalde procedures en functies vooral

Ctsend inplaats van stapelen met temp

Lijst genereeren in een globale functie en niet in iedere klasse apart

Vrijdag

17.04.’98

 

 

 

 

 

 

 

 

 

 

Week5

 

Dag

Datum

Begin

Eind

Omschrijving

Maandag

28.04.’98

7u30

12u00

Veranderen van code voor opgedoken error in lijstgeneratie code.

12u30

 

16u15

 

Verder werken aan waardeliijst code voor de klasse Waardelijst en testen van html-pagina

Dinsdag

29.04.’98

7u30

10u00

Probleem met lijst generatie code verhelpen door nieuwe code te schrijven voor ctsend nml ctsendx

10u00

 

12u30

 

Verder werken aan de klasse waardelijst en testen van gegenereerde html-pagina

12u30

16u30

Schrijven van code voor WaardeShow klasse en testen

Woensdag

30.04.’98

7u30

 

Schrijven van code voor WaardeUpdate en testen

10u00

12u30

Layout van de door WaardeShow iets aan passen en code van Waarde update errors proberen optelossen

13u00

16u30

Verdere Error in IKS2Acces van WaardeUpdare verhelpen door aanpassing te verrichten aan beide klassen.

Donderdag

31.04.’98

7u30

10u00

Schrijven van code voor Report, het selecteren van een param en het jaar

10u00

12u30

Testen van Report en schrijven van Report.. Het weergeven van waarden per maand van de geselecteerd param

13u00

14u00

Testen van Report.. en veranderingen aan brengen.

14u00

15u30

Schrijven van code voor ReportGraph voor het weergeven van den grafiek van de geselecteerde waarden.

Vrijdag

01.05.’98

Dag van de Arbeid

 

Week6

 

Dag

Datum

Begin

Eind

Omschrijving

Maandag

04.05.’98

7u30

12u00

ReportGraph herschrijven zodat de grafieken weergegeven worden door OlectraChart ipv IEChart

12u30

 

16u15

 

Implementeeren van de variabelen van OlectraChart zoals kleur groote en Min en Max

Dinsdag

05.05.’98

7u30

12u00

Afmaken van ReportGraph en testen.

12u30

16u30

Problemen die naar voren zijn gekomen met het testen van ReportGraph zoals het probleem met de cab-files die nog aangemaakt moesten worden maar toch beter van de OlectraChart site gekopieerd konden worden

Woensdag

06.05.’98

7u30

12u00

Besluiten een navbar te maken voor het navigeren over de site. Voorbeelden op het net bekijken voor het maken van frames.

12u30

16u15

 

Button's op de navbar voorzien van script zodat ze van kleur verander als ze aan gekliked worden.

Donderdag

07.05.’98

7u30

 

12u00

 

Buttons op de navbar voorzien van kleur en het algehele uiterlijk van de navbar bepalen.

12u00

 

16u15

 

Verder werken aan de navbar links in orde maken en zorgen dat de links eindigen in het goede frame.

Vrijdag

08.05.’98

7u30

12u30

12u00

16u15

Laatse hand leggen aan de NavBar.

Verandering doorvoeren aan Login en besluiten login met behulp van Active Sever Pages te veranderen.

 

 

Week7

 

Dag

Datum

Begin

Eind

Omschrijving

Maandag

11.05.’98

7u30

12u00

Login2 maken. Klasse Login en User maken.

12u30

16u15

Klasse Membership en Group

Dinsdag

12.05.’98

7u30

12u00

Klasse Permissions en Application

12u30

16u30

Veranderingen aan berengen aan de klassen. En een begin maken met Login2Test.

Woensdag

13.05.’98

7u30

12u30

Login van Login2Test maken zodat gegevens van users worden weer gegeven.

13u00

16u30

New User implementeren op het login form zodat bij fout login een new user aangemaakt kan worden.

Donderdag

14.05.’98

7u30

16u30

AdminTools implementeren en Test runs uitvoeren. Veranderingen aanbrengen in Login2 vooral met relatie tot IsAdmin

Vrijdag

15.05.’98

7u30

12u00

Afwerken van Login2Test

12u30

16u30

Informatie over IIS, AxtiveX en ISAPI opzoeken. Typen aan het stageverslag.

 

 

Week8

 

Dag

Datum

Begin

Eind

Omschrijving

Maandag

18.05.’98

7u30

16u15

Werken aan stageverslag

  • Opzoeken informatie
  • Doorlezen informatie
  • Verwerken informatie

Dinsdag

19.05.’98

7u30

16u30

Werken aan stageverslag

  • Opzoeken informatie
  • Doorlezen informatie
  • Verwerken informatie

Woensdag

20.05.’98

7u30

12u30

Werken aan stageverslag

  • Opzoeken informatie
  • Doorlezen informatie
  • Verwerken informatie

13u00

16u30

Stagebezoek stagedocent

  • Demonstratie van en uitleg over gemaakte applicaties
  • Bezoek aan de walslijn

Donderdag

21.05.’98

Hemelvaart dag

Vrijdag

22.05.’98

Vrij

Week9

 

Dag

Datum

Begin

Eind

Omschrijving

Maandag

25.05.’98

7u30

12u00

12u30

16u15

Dinsdag

26.05.’98

7u30

12u00

12u30

16u30

Woensdag

27.05.’98

7u30

12u30

13u00

16u30

Donderdag

28.05.’98

7u30

12u30

13u00

16u30

Vrijdag

29.05.’98

7u30

12u00

12u30

16u30

Week10

 

 

Dag

Datum

Begin

Eind

Omschrijving

Maandag

01.06.’98

1ste Pinksteren Vrij

Dinsdag

02.06.’98

7u30

12u00

12u30

16u30

Woensdag

03.05.’98

7u30

12u30

13u00

16u30

Donderdag

04.05.’98

7u30

12u30

13u00

16u30

Vrijdag

05.06.’98

Huwelijksfeest Zus